package cn.zane.domain.activity.service.trial;

import cn.zane.domain.activity.adapter.repository.IActivityRepository;
import cn.zane.types.design.framework.AbstractMultiThreadStrategyRouter;
import lombok.extern.slf4j.Slf4j;

import javax.annotation.Resource;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeoutException;

/**
 * @author: zane
 * @date: 2025-10-24
 * @description: 抽象的拼团营销支撑类
 */
@Slf4j
public abstract class AbstractGroupBuyMarketSupport<T, D, R> extends AbstractMultiThreadStrategyRouter<T, D, R> {

    protected long timeout=500;

    @Resource
    protected IActivityRepository repository;

    @Override
    protected void multiThread(T requestParameter, D dynamicContext) throws ExecutionException, InterruptedException, TimeoutException {
        // 缺省的方法
        log.info("执行抽象类中的multiThread方法，可以让其子类不需要全部都实现multiThread，让有需要的节点去实现即可！");
    }
}
